package com.sunrise.estoque.bean;

import java.util.ArrayList;
import java.util.List;

import javax.annotation.Resource;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import lombok.Getter;

import org.springframework.stereotype.Controller;

import com.sunrise.estoque.servico.ManterSetorService;
import com.sunrise.generico.bean.ManterBean;
import com.sunrise.generico.entidade.Setor;
import com.sunrise.generico.util.MessagesUtil;

@ManagedBean
@ViewScoped
@Controller
public class ManterSetorBean extends ManterBean<Setor> {
	
	@Resource
	@Getter
	private ManterSetorService setorService;

	
	@Override
	public void inicializarEntidade() {
		setEntidade(new Setor());
		getEntidade().setAtivo(Boolean.TRUE);
	}

	@Override
	public List<Setor> iniciarlizarListEntidade() {
		return new ArrayList<Setor>();
	}
	

	public String habilitar() {
		try {
			getEntidade().setAtivo(Boolean.TRUE);
			getService().alterar(getEntidade());
			MessagesUtil.addNewInfoMessage(MessagesUtil
					.getMessageKey("registroHabilitadoSucesso"));
			buscarPorFiltros();
			return getListar();
		} catch (Exception e) {
			MessagesUtil.addNewInfoMessage(MessagesUtil
					.getMessageKey("registroNaoHabilitado"));
			return null;
		}
	}

	public String desabilitar() {
		try {
			getEntidade().setAtivo(Boolean.FALSE);
			getService().alterar(getEntidade());
			MessagesUtil.addNewInfoMessage(MessagesUtil
					.getMessageKey("registroDesabilitadoSucesso"));
			buscarPorFiltros();
			return getListar();
		} catch (Exception e) {
			MessagesUtil.addNewInfoMessage(MessagesUtil
					.getMessageKey("registroNaoDesabilitado"));
			return null;
		}
	}
	
	
	public void buscarPorFiltros(){
		setEntidades(getSetorService().buscarPorFiltros(getFiltro()));
	}
}
